package com.shujia.wyh.day11;

/*
    异常处理的方式1：try...catch...finally
 */
public class ExceptionDemo2 {
    public static void main(String[] args) {
        int[] arr = {11,22,33,44,55};
        int a = 5;
        int b = 2;

//        System.out.println(arr[10]);  //ArrayIndexOutOfBoundsException

        //1、catch中的代码只有try中出现异常时才会进行匹配
        //2、catch可以写多个，但是如果异常存在父子关系，请将父异常写在下面
        //3、Throwable类中有一个方法：void printStackTrace() 将此throwable和其追溯打印到标准错误流。
        //4、finally可以写也可以不写，写的话，无论try中代码是否会出现异常，都会执行finally中语句。
        try {
            System.out.println(arr[2]);
            System.out.println(a/b); //ArithmeticException
        }catch (ArrayIndexOutOfBoundsException e){  // Exception e = new ArrayIndexOutOfBoundsException();
            e.printStackTrace();
//            System.out.println("取了不该取的索引");
//            System.out.println("出错啦！！！");
        }catch (ArithmeticException e){
            e.printStackTrace();
//            System.out.println("除数为0");
//            System.out.println("又出错啦！！");
        }finally {
            System.out.println("欢迎来到数加学院！！");
        }


        System.out.println("吴涛真帅！！");
    }
}
